/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package actioncombination.logic.policy;


import actioncombination.common.value.Value;
import actioncombination.logic.agent.AgentState;
import actioncombination.logic.agent.action.Action;
import actioncombination.problem.gridworld.AgentStateImpl;
import java.util.Map;

/**
 *
 * @author Administrador
 */
public abstract class PolicyStrategy {
    
    public abstract Action selectAction(Map<Action, Value> actionValues);
    public abstract Action selectAction(Map<Action, Value> actionValues, float parameter);
    public abstract AgentState selectAction(Map<AgentState, Value> valuesStates);   
    public abstract AgentState selectAction(Map<AgentState, Value> valuesStates, float parameter);   
    public abstract void setParameter(float parameter);
    public abstract float getParameter();
}
